package acwing.数学.约数;

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

/**
 * 约数之和
 *
 * @author yang
 * @date 2022/1/15
 */
public class 约数之和 {

    static int mod = (int)1e9+7,n;

    public static void main(String[] args) {
        Map<Integer,Integer> map = new HashMap<>();
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        while (n-- > 0) {
            int x = sc.nextInt();
            for (int i = 2; i <= x/i; i++) {
                while (x % i == 0) {
                    x /= i;
                    map.put(i, map.getOrDefault(i,0) + 1);
                }
            }
            if (x > 1) map.put(x, map.getOrDefault(x,0) + 1);
        }
        long ans = 1;
        for (int k : map.keySet()) {
            long t = 1; // k的1次方乘到t的次方a
            int a = map.get(k);
            while (a-- > 0) t = (t * k + 1) % mod;
            ans = ans * t % mod;
        }
        System.out.println(ans);
    }
}
